<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MoonWatcher - Lunar Observation Assistant, Lunar nearside</title>
    <style>
        body {
            text-align: center;
            font-family: Arial, sans-serif;
            background-color: beige;
        }
        #moon {
            position: relative;
            display: inline-block;
        }
        .target {
            position: absolute;
            transform-origin: left top;
        }
        .filter-container {
            margin: 20px 0;
        }
        .observation-list {
    background-color: #FFFAE1;
    padding: 10px;
    margin-top: 20px;
    text-align: left;  /* 确保文字靠左显示 */
    width: calc(100% - 20px);  /* 左右撑满 */
    max-width: 1080px;  /* 最大宽度 */
    margin-left: auto;
    margin-right: auto;
}
        .observation-list div {
            margin: 5px 0;
        }
        .time-stamp {
            margin-top: 20px;
        }
        #clear-button, #screenshot-button {
            margin-top: 30px;
        }
        #supplemental-instruction {
    font-size: 10px;
    margin-top: 10px;
    width: calc(100% - 20px);  /* 左右撑满 */
    max-width: 1080px;  /* 最大宽度 */
    box-sizing: border-box;
    word-wrap: break-word; /* 确保文本换行 */
    text-align: left;  /* 确保文字靠左显示 */
    margin-left: auto;
    margin-right: auto;
}
    </style>
</head>
<body>
    <h1>月球正面图</h1>

    <div class="filter-container">
        <label><input type="checkbox" class="type-filter" value="人类设备" >人类设备</label>
        <label><input type="checkbox" class="type-filter" value="月谷" > 月谷</label>
        <label><input type="checkbox" class="type-filter" value="月海" > 月海</label>
        <label><input type="checkbox" class="type-filter" value="环形山" > 环形山</label>
        <label><input type="checkbox" class="type-filter" value="链坑" > 链坑</label>

        <label><input type="checkbox" class="type-filter" value="月湖" > 月湖</label>
        <label><input type="checkbox" class="type-filter" value="月沼" > 月沼</label>
        <label><input type="checkbox" class="type-filter" value="月湾" > 月湾</label>
        <label><input type="checkbox" class="type-filter" value="山丘" > 山丘</label>

        <label><input type="checkbox" class="type-filter" value="山脉" > 山脉</label>
        <label><input type="checkbox" class="type-filter" value="断崖" > 断崖</label>


    </div>

    <div id="moon">
        <img id="moon_image" src="" alt="月球正面图" width="1080" height="1080">
        <!-- 月球目标将在此处动态插入 -->
    </div>

    <div class="observation-list">
        <h2>已观测列表</h2>
        <div id="observation-container"></div>
        <div class="time-stamp" id="current-time"></div>
        <button id="clear-button">清空观测记录</button>
    </div>


    <div id="supplemental-instruction">
        资料来源： 月面图使用了Virtual Moon Atlas截图；月面目标信息自维基百科，部分名称可能不是常见译名；页面代码和坐标转换使用了ChatGPT 4o协助，公共链接：https://chatgpt.com/share/786b2a47-392d-4742-ada8-6f53a90318d2
        </br> 页面制作人：褚红明,https://github.com/hongming/MoonWatcher</br>最后更新日期： 2024-06-06，增加了人类飞船、探测器的着陆点标记。
    </div>

    <button id="screenshot-button">大力点击此处生成截图（1、不一定好用，2、微信中请从右上角选择“在浏览器打开”）</button>
    <script>
        const Lunar_D = 1080;
        const targets = [
        {'type': '人类设备', 'name': '阿波罗11号', 'lat': 0.67416, 'lon': 23.47314, 'fontSize': 12, 'rotate': 30, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '阿波罗12号', 'lat': -3.0128, 'lon': -23.4219, 'fontSize': 12, 'rotate': -30, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '阿波罗14号', 'lat': -3.64589, 'lon': -17.47194, 'fontSize': 12, 'rotate': 30, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '阿波罗15号', 'lat': 26.13239, 'lon': 3.6333, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '阿波罗16号', 'lat': -8.9734, 'lon': 15.5011, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '阿波罗17号', 'lat': 20.1911, 'lon': 30.7723, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '嫦娥三号', 'lat': 44.1213, 'lon': -19.51151, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '嫦娥五号', 'lat': 43.0576, 'lon': -51.916, 'fontSize': 12, 'rotate': -30, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球9号', 'lat': 7.08, 'lon': 64.37, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球13号', 'lat': 18.87, 'lon': -62.05, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球16号', 'lat': -0.68, 'lon': 56.3, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球17号', 'lat': 38.28, 'lon': -35.0, 'fontSize': 12, 'rotate': 45, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球20号', 'lat': 3.53, 'lon': 56.5, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球21号', 'lat': 25.85, 'lon': 30.45, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球23号', 'lat': 12.68, 'lon': 62.25, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月球24号', 'lat': 12.71, 'lon': 62.21, 'fontSize': 12, 'rotate': 90, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '月船3号Chandrayaan-3', 'lat': -69.37, 'lon': 32.35, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '勘测者Surveyor 1号', 'lat': -2.474, 'lon': -43.339, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '勘测者Surveyor 3号', 'lat': -3.016, 'lon': -23.355, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '勘测者Surveyor 5号', 'lat': 1.41, 'lon': 23.18, 'fontSize': 12, 'rotate': -45, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '勘测者Surveyor 6号', 'lat': 0.49, 'lon': -1.4, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '勘测者Surveyor 7号', 'lat': -40.98, 'lon': -11.51, 'fontSize': 12, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '人类设备', 'name': '小型月球探测器SLIM', 'lat': 13.25, 'lon': 58.75, 'fontSize': 12, 'rotate': 90, 'x_Offset': 0, 'y_offset': 0},

        {'type': '月谷', 'name': '阿尔卑斯月谷', 'lat': 48.5, 'lon': 3.2, 'fontSize': 18, 'rotate': -25, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '巴德月谷', 'lat': -45.9, 'lon': -76.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '玻尔月谷', 'lat': 12.4, 'lon': -86.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '布瓦尔月谷', 'lat': -38.3, 'lon': -83.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '卡佩拉月谷', 'lat': -7.6, 'lon': 34.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '因吉拉米月谷', 'lat': -43.8, 'lon': -72.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '帕雷泽西月谷', 'lat': -26.4, 'lon': 64.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '普朗克月谷', 'lat': -58.4, 'lon': 126.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '里伊塔月谷', 'lat': -42.5, 'lon': 51.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '薛定谔月谷', 'lat': -67.0, 'lon': 105.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '施勒特尔月谷', 'lat': 26.2, 'lon': -50.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月谷', 'name': '斯内利厄斯月谷', 'lat': -31.1, 'lon': 56.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '蛇海', 'lat': 22.6, 'lon': 67.7, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '南海', 'lat': -38.9, 'lon': 93.0, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '知海', 'lat': -10.0, 'lon': -23.1, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '危海', 'lat': 17.0, 'lon': 59.1, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '丰富海', 'lat': -7.8, 'lon': 51.3, 'fontSize': 24, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '冷海', 'lat': 56.0, 'lon': 1.4, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '洪堡海', 'lat': 56.8, 'lon': 81.5, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '湿海', 'lat': -24.4, 'lon': -38.6, 'fontSize': 24, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '雨海', 'lat': 32.8, 'lon': -15.6, 'fontSize': 24, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '智海', 'lat': -33.7, 'lon': 163.5, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '岛海', 'lat': 7.5, 'lon': -30.9, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '界海', 'lat': 13.3, 'lon': 147.9, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '莫斯科海', 'lat': 27.3, 'lon': 51.5, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '神酒海', 'lat': -15.2, 'lon': 35.5, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '云海', 'lat': -21.3, 'lon': -16.6, 'fontSize': 24, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '东方海', 'lat': -19.4, 'lon': -92.8, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '澄海', 'lat': 28.0, 'lon': 17.5, 'fontSize': 24, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '泡沫海', 'lat': -1.1, 'lon': 65.1, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '静海', 'lat': 8.5, 'lon': 31.4, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '浪海', 'lat': 6.8, 'lon': 68.4, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '汽海', 'lat': 13.3, 'lon': 3.6, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月海', 'name': '风暴洋', 'lat': 18.4, 'lon': -57.4, 'fontSize': 24, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '夏湖', 'lat': -15.0, 'lon': -69.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '秋湖', 'lat': -9.9, 'lon': -83.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '仁慈湖', 'lat': 23.2, 'lon': 43.7, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '忧伤湖', 'lat': 17.1, 'lon': 9.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '秀丽湖', 'lat': -35.4, 'lon': -44.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '幸福湖', 'lat': 19.0, 'lon': 5.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '欢乐湖', 'lat': 16.2, 'lon': 12.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '冬湖', 'lat': 15.0, 'lon': 14.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '温柔湖', 'lat': 14.0, 'lon': 12.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '奢湖', 'lat': 19.0, 'lon': 176.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '死湖', 'lat': 45.0, 'lon': 27.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '忘湖', 'lat': -21.0, 'lon': -168.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '怨恨湖', 'lat': -19.0, 'lon': 7.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '长存湖', 'lat': 8.0, 'lon': 62.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '孤独湖', 'lat': -27.8, 'lon': 104.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '梦湖', 'lat': 38.0, 'lon': 29.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '希望湖', 'lat': 43.0, 'lon': 65.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '时令湖', 'lat': 45.9, 'lon': 58.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '恐怖湖', 'lat': -38.8, 'lon': -27.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湖', 'name': '春湖', 'lat': -16.5, 'lon': -86.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月沼', 'name': '疫沼', 'lat': -32.0, 'lon': -28.2, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月沼', 'name': '腐沼', 'lat': 26.5, 'lon': 0.4, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月沼', 'name': '睡沼', 'lat': 14.1, 'lon': 45.0, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '浪湾', 'lat': 10.9, 'lon': -8.8, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '爱湾', 'lat': 18.1, 'lon': 39.1, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '狂暴湾', 'lat': -3.8, 'lon': 27.4, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '和谐湾', 'lat': 10.8, 'lon': 43.2, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '信赖湾', 'lat': 18.0, 'lon': 2.0, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '荣誉湾', 'lat': 11.7, 'lon': 18.1, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '虹湾', 'lat': 44.1, 'lon': -31.5, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '眉月湾', 'lat': 31.8, 'lon': -1.4, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '中央湾', 'lat': 2.4, 'lon': 1.7, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '露湾', 'lat': 54.0, 'lon': -56.6, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '月湾', 'name': '成功湾', 'lat': 0.9, 'lon': 59.0, 'fontSize': 18, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '阿格妮丝山', 'lat': 18.6, 'lon': 5.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '安培山', 'lat': 19.0, 'lon': -4.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '安德烈山', 'lat': 5.2, 'lon': 120.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '阿尔达希尔山', 'lat': 5.0, 'lon': 121.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '阿尔加山', 'lat': 19.0, 'lon': 29.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '勃朗峰', 'lat': 45.0, 'lon': 1.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '布拉德利山', 'lat': 22.0, 'lon': 1.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '德利尔山', 'lat': 29.5, 'lon': -35.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '迪特山', 'lat': 5.0, 'lon': 120.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '迪利普山', 'lat': 5.6, 'lon': 120.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '伊萨姆山', 'lat': 14.6, 'lon': 35.7, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '加瑙山', 'lat': 4.8, 'lon': 120.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '哈德利山', 'lat': 26.5, 'lon': 4.7, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '哈德利·德尔塔山', 'lat': 25.8, 'lon': 3.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '汉斯廷山', 'lat': -12.1, 'lon': -50.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '希罗多德山', 'lat': 27.5, 'lon': -53.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '惠更斯山', 'lat': 20.0, 'lon': -2.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '拉西尔山', 'lat': 27.8, 'lon': -25.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '马拉尔第山', 'lat': 20.3, 'lon': 35.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '莫罗山', 'lat': -12.0, 'lon': -19.7, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '彭克山', 'lat': -10.0, 'lon': 21.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '皮科山', 'lat': 45.7, 'lon': -8.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '皮通山', 'lat': 40.6, 'lon': -1.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '吕姆克山', 'lat': 40.8, 'lon': -58.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '乌索夫山', 'lat': 12.0, 'lon': 63.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '维诺格拉多夫山', 'lat': 22.4, 'lon': -32.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '维特鲁威山', 'lat': 19.4, 'lon': 30.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山丘', 'name': '沃尔夫山', 'lat': 17.0, 'lon': -6.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '阿格里科拉山脉', 'lat': 29.1, 'lon': -54.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '阿尔卑斯山脉', 'lat': 46.4, 'lon': -0.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '亚平宁山脉', 'lat': 18.9, 'lon': -3.7, 'fontSize': 24, 'rotate': -30, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '阿基米德山脉', 'lat': 25.3, 'lon': -4.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '喀尔巴仟山脉', 'lat': 14.5, 'lon': -24.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '高加索山脉', 'lat': 38.4, 'lon': 10.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '科迪勒拉山脉', 'lat': -17.5, 'lon': -17.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '海摩斯山脉', 'lat': 19.9, 'lon': 9.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '哈宾杰山脉', 'lat': 27.0, 'lon': -41.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '侏罗山脉', 'lat': 47.1, 'lon': -34.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '比利牛斯山脉', 'lat': -15.6, 'lon': 41.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '直列山脉', 'lat': 48.0, 'lon': -20.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '里菲山脉', 'lat': -7.7, 'lon': -28.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '鲁克山脉', 'lat': -20.6, 'lon': -82.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '塞奇山脉', 'lat': 3.0, 'lon': 43.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '斯匹次卑尔根山脉', 'lat': 35.0, 'lon': -5.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '金牛山脉', 'lat': 28.4, 'lon': 41.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '山脉', 'name': '特内里费山脉', 'lat': 47.1, 'lon': -11.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '艾布·菲达链坑', 'lat': -16.9, 'lon': 17.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '阿尔塔莫诺夫链坑', 'lat': 26.0, 'lon': 105.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '碧姬链坑', 'lat': 18.5, 'lon': 27.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '戴维坑链', 'lat': -11.0, 'lon': -7.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '杰武尔斯基链坑', 'lat': 19.0, 'lon': 100.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '格里高利链坑', 'lat': -0.6, 'lon': 129.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '洪堡链坑', 'lat': -21.5, 'lon': 84.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '克拉夫特链坑', 'lat': 15.0, 'lon': -72.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '库尔恰托夫链坑', 'lat': 37.2, 'lon': 136.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '洛伊施纳链坑', 'lat': 4.7, 'lon': -110.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '利特罗链坑', 'lat': 22.2, 'lon': 29.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '卢克莱修链坑', 'lat': -3.4, 'lon': -126.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '门捷列夫链坑', 'lat': 6.3, 'lon': 139.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '迈克耳孙链坑', 'lat': 1.4, 'lon': -113.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '皮耶链坑', 'lat': 19.8, 'lon': -31.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '萨姆纳链坑', 'lat': 37.3, 'lon': 112.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '西尔维斯特链坑', 'lat': 81.4, 'lon': 86.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '塔伦修斯链坑', 'lat': 3.0, 'lon': 48.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '梯摩恰里斯链坑', 'lat': 29.0, 'lon': -13.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '链坑', 'name': '尤里链坑', 'lat': 24.4, 'lon': -30.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '阿尔泰断崖', 'lat': -24.3, 'lon': 22.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '鲍里斯断崖', 'lat': -45.9, 'lon': -76.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '柯西断崖', 'lat': 9.0, 'lon': 37.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '开尔文断崖', 'lat': -27.3, 'lon': -33.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '李比希断崖', 'lat': -25.0, 'lon': -46.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '墨卡托断崖', 'lat': -31.0, 'lon': -22.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '直壁', 'lat': -22.1, 'lon': -7.8, 'fontSize': 24, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '断崖', 'name': '托斯卡内利断崖', 'lat': 27.4, 'lon': -47.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '拜耳环形山', 'lat': -66.4, 'lon': -69.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '克拉维斯环形山', 'lat': -58.6, 'lon': -14.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '施卡德环形山', 'lat': -44.3, 'lon': -54.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '洪堡环形山', 'lat': -27.0, 'lon': 81.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '詹森环形山', 'lat': -45.4, 'lon': 40.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '朗伦环形山', 'lat': -8.9, 'lon': 60.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '斯多弗勒环形山', 'lat': -41.1, 'lon': 6.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '马金努斯环形山', 'lat': -50.0, 'lon': -5.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '托勒密环形山', 'lat': -9.2, 'lon': -1.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '弗拉卡斯托里乌斯环形山', 'lat': -21.5, 'lon': 33.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '瓦尔特环形山', 'lat': -33.0, 'lon': 1.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '阿尔贝特环形山', 'lat': -11.2, 'lon': 4.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '哥白尼环形山', 'lat': 9.6, 'lon': -20.0, 'fontSize': 18, 'rotate': 60, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '亚历山大环形山', 'lat': 40.4, 'lon': 13.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '马里乌斯环形山', 'lat': 11.9, 'lon': -50.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '阿基米德环形山', 'lat': 29.7, 'lon': -4.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '亚里士多德环形山', 'lat': 50.2, 'lon': 17.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '埃拉斯塔托环形山', 'lat': 14.5, 'lon': -11.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '普林环形山', 'lat': 15.4, 'lon': 23.6, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '柏拉图环形山', 'lat': 51.6, 'lon': -9.3, 'fontSize': 18, 'rotate': 60, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '第欧根尼环形山', 'lat': 25.3, 'lon': 16.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '欧拉环形山', 'lat': 23.3, 'lon': -29.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '提洛环形山', 'lat': 26.7, 'lon': -13.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '海厄特环形山', 'lat': 7.8, 'lon': 6.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '赫耳墨斯环形山', 'lat': -10.7, 'lon': 16.7, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '维萨里乌斯环形山', 'lat': -5.3, 'lon': -56.8, 'fontSize': 10, 'rotate':60, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '罗巴赫环形山', 'lat': 25.3, 'lon': 36.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '赫尔克环形山', 'lat': 46.7, 'lon': 39.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '门尔拉环形山', 'lat': 16.3, 'lon': 16.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '阿里阿达尼环形山', 'lat': 25.9, 'lon': 32.8, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '赫歇尔环形山', 'lat': -5.7, 'lon': -2.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '拉伊尔环形山', 'lat': 22.4, 'lon': 30.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '赫尔莫格内斯环形山', 'lat': 24.3, 'lon': 29.2, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '戈尔丁环形山', 'lat': 73.7, 'lon': 1.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '瓦拉赫环形山', 'lat': 50.0, 'lon': 0.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '第欧根尼环形山', 'lat': 25.3, 'lon': 16.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '阿尔巴塔根尼环形山', 'lat': -11.2, 'lon': 4.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '巴克尔环形山', 'lat': 59.7, 'lon': -57.2, 'fontSize': 10, 'rotate': 40, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '恩克环形山', 'lat': -4.6, 'lon': -56.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '霍尔登环形山', 'lat': -26.5, 'lon': -34.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '希姆环形山', 'lat': -41.3, 'lon': -33.3, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '皮塔托环形山', 'lat': -29.8, 'lon': -13.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '富克环形山', 'lat': -57.8, 'lon': 4.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '利布希尔环形山', 'lat': -14.7, 'lon': -6.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '图比亚斯·迈耶环形山', 'lat': 17.3, 'lon': -28.9, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '阿基米德环形山', 'lat': 29.7, 'lon': -4.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '赫尔克环形山', 'lat': 46.7, 'lon': 39.1, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '瓦尔特环形山', 'lat': -33.0, 'lon': 1.0, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '特贝斯环形山', 'lat': -11.4, 'lon': 26.4, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0},
{'type': '环形山', 'name': '塞维利亚环形山', 'lat': -14.1, 'lon': 18.5, 'fontSize': 10, 'rotate': 0, 'x_Offset': 0, 'y_offset': 0}
        ];

        const colors = {
            '人类设备': 'yellow',
            '月海': 'red',
            '环形山': 'yellow',
            '月沼': 'red',
            '月湾': 'green',
            '月谷': 'yellow',
            '月湖': 'yellow',
            '山丘': 'yellow',
            '山脉': 'yellow',
            '链坑': 'yellow',
            '断崖': 'yellow'
        };

        function latLonToXY(lat, lon) {
            const radius = Lunar_D / 2;
            const phi = lat * Math.PI / 180;
            const lambda = lon * Math.PI / 180;
            const x = radius * Math.cos(phi) * Math.sin(lambda);
            const y = -radius * Math.sin(phi);
            return { x: radius + x, y: radius + y };
        }

        function createTargetElement(target) {
            const { x, y } = latLonToXY(target.lat, target.lon);
            const element = document.createElement('div');
            element.className = 'target';
            element.style.left = `${x + target.x_Offset}px`;
            element.style.top = `${y + target.y_offset}px`;
            element.style.color = colors[target.type];
            element.style.fontSize = `${target.fontSize}px`;
            element.style.transform = `rotate(${target.rotate}deg)`;
            element.innerHTML = `<label><input type="checkbox" class="target-checkbox" data-name="${target.name}" data-type="${target.type}">${target.name}</label>`;
            return element;
        }

        function updateTargets() {
            const moon = document.getElementById('moon');
            const filters = Array.from(document.querySelectorAll('.type-filter:checked')).map(input => input.value);
            document.querySelectorAll('.target').forEach(el => el.remove());
            targets.forEach(target => {
                if (filters.includes(target.type)) {
                    moon.appendChild(createTargetElement(target));
                }
            });
        }

        function updateObservationList() {
            const container = document.getElementById('observation-container');
            const observations = JSON.parse(localStorage.getItem('observations')) || [];
            container.innerHTML = '';
            observations.forEach(obs => {
                const div = document.createElement('div');
                // 创建一个包含时区偏移的新日期对象
        const observationTime = new Date(obs.time);
        const offset = 8 * 60 * 60 * 1000; // 北京时间偏移量，以毫秒为单位
        const beijingTime = new Date(observationTime.getTime() + offset);
        const formattedTime = beijingTime.toLocaleString().replace(/\//g, '-').replace(',', ''); // 格式化时间
                div.textContent = `${obs.type} - ${obs.name} -  ${formattedTime}`;
                container.appendChild(div);
            });
        }

        function updateTimeStamp() {
            const now = new Date();
            now.setHours(now.getHours() + 8);
            document.getElementById('current-time').textContent = now.toISOString().split('.')[0].replace('T', ' ');
        }




        function handleCheckboxChange(event) {
            const checkbox = event.target;
            const name = checkbox.dataset.name;
            const type = checkbox.dataset.type;
            let observations = JSON.parse(localStorage.getItem('observations')) || [];
            if (checkbox.checked) {
                observations.push({ name, type, time: new Date().toISOString().split('.')[0].replace('T', ' ') });
            } else {
                observations = observations.filter(obs => obs.name !== name);
            }
            localStorage.setItem('observations', JSON.stringify(observations));
            updateObservationList();
        }

        document.querySelectorAll('.type-filter').forEach(input => input.addEventListener('change', updateTargets));
        document.getElementById('clear-button').addEventListener('click', () => {
            localStorage.removeItem('observations');
            updateObservationList();
            document.querySelectorAll('.target-checkbox').forEach(checkbox => checkbox.checked = false);
        });
        document.getElementById('screenshot-button').addEventListener('click', () => {
            html2canvas(document.body).then(canvas => {
                const link = document.createElement('a');
                link.download = `${new Date().toISOString().split('.')[0].replace('T', '_')}.png`;
                link.href = canvas.toDataURL('image/png');
                link.click();
            });
        });

        document.addEventListener('DOMContentLoaded', () => {
            updateTargets();
            updateObservationList();
            updateTimeStamp();
            setInterval(updateTimeStamp, 1000);
            document.getElementById('moon').addEventListener('change', handleCheckboxChange);
        });
    </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.3.2/html2canvas.min.js"></script>
</body>
</html>
